/*
 * All rights Reserved, Copyright (C) WANGJIAN LIMITED 2019
 * FileName: ResultDataUtil.java
 * Version:  $Revision$
 * Modify record:
 * NO. |     Date       |    Name         |      Content
 * 1   | 2019年8月5日        | JFTT)wangjian    | original version
 */
package com.pl.util;

import com.pl.bean.ResultData;

/**
 * class name:ResultDataUtil <BR>
 * class description: 消息返回类 <BR>
 * Remark: <BR>
 * @version 1.00 2019年8月5日
 * @author JFTT)wangjian
 * @param <T>
 */
public class ResultDataUtil {
	
	//ajax一般成功，失败返回值
	public enum ajaxFlag{
		OK("OK"), 
		FAIL("FAIL");
		
		private String value;
		
		private ajaxFlag(String value){
			this.value = value;
		}
		
		public String getValue(){
			return value;
		}
	}
	
	/**
	 * Method name: ok <BR>
	 * Description: 返回成功 <BR>
	 * Remark: <BR>
	 * @return  ResultData<BR>
	 * @date 2019年8月5日
	 * @author JFTT)wangjian
	 */
	public static ResultData<String> ok() {
		
		ResultData<String> rData = new ResultData<String>();
		rData.setCode(ajaxFlag.OK.getValue());
		rData.setMessage("成功");
		
		return rData;
	}
	
	/**
	 * Method name: ok <BR>
	 * Description: 返回成功 <BR>
	 * Remark: <BR>
	 * @return  ResultData<BR>
	 * @date 2019年8月5日
	 * @author JFTT)wangjian
	 */
	public static ResultData<String> ok(String msg) {
		
		ResultData<String> rData = new ResultData<String>();
		rData.setCode(ajaxFlag.OK.getValue());
		rData.setMessage(msg);
		
		return rData;
	}
	
	/**
	 * Method name: fail <BR>
	 * Description: 返回失败 <BR>
	 * Remark: <BR>
	 * @return  ResultData<String><BR>
	 * @date 2019年8月5日
	 * @author JFTT)wangjian
	 */
	public static ResultData<String> fail() {
		
		ResultData<String> rData = new ResultData<String>();
		rData.setCode(ajaxFlag.FAIL.getValue());
		rData.setMessage("失败");
		
		return rData;
	}
	
	/**
	 * Method name: fail <BR>
	 * Description: 返回失败 <BR>
	 * Remark: <BR>
	 * @param msg
	 * @return  ResultData<String><BR>
	 * @date 2019年8月5日
	 * @author JFTT)wangjian
	 */
	public static ResultData<String> fail(String msg) {
		
		ResultData<String> rData = new ResultData<String>();
		rData.setCode(ajaxFlag.FAIL.getValue());
		rData.setMessage(msg);
		
		return rData;
	}
	
	/**
	 * Method name: reData <BR>
	 * Description: 返回信息 <BR>
	 * Remark: <BR>
	 * @param code
	 * @param msg
	 * @return  ResultData<String><BR>
	 * @date 2019年8月5日
	 * @author JFTT)wangjian
	 */
	public static ResultData<String> reData(String code, String msg) {
		
		ResultData<String> rData = new ResultData<String>();
		rData.setCode(code);
		rData.setMessage(msg);
		
		return rData;
	}
	
	/**
	 * Method name: reData <BR>
	 * Description: 返回信息 <BR>
	 * Remark: <BR>
	 * @param code
	 * @param msg
	 * @param data
	 * @return  ResultData<T><BR>
	 * @date 2019年8月5日
	 * @author JFTT)wangjian
	 */
	public static <T> ResultData<T> reData(String code, String msg, T data) {
		
		ResultData<T> rData = new ResultData<T>();
		rData.setCode(code);
		rData.setMessage(msg);
		rData.setData(data);
		
		return rData;
	}
	
	/**
	 * Method name: ok <BR>
	 * Description: 返回成功 <BR>
	 * Remark: <BR>
	 * @param <T>
	 * @param data
	 * @return  ResultData<T><BR>
	 * @date 2019年8月8日
	 * @author JFTT)wangjian
	 */
	public static <T> ResultData<T> ok(T data) {
		
		ResultData<T> rData = new ResultData<T>();
		rData.setCode(ajaxFlag.OK.getValue());
		rData.setMessage("成功");
		rData.setData(data);
		
		return rData;
	}
	
	/**
	 * Method name: fail <BR>
	 * Description: 失败 <BR>
	 * Remark: <BR>
	 * @param <T>
	 * @param data
	 * @return  ResultData<T><BR>
	 * @date 2019年8月8日
	 * @author JFTT)wangjian
	 */
	public static <T> ResultData<T> fail(T data) {
		
		ResultData<T> rData = new ResultData<T>();
		rData.setCode(ajaxFlag.FAIL.getValue());
		rData.setMessage("失败");
		rData.setData(data);
		
		return rData;
	}
}
